A clone of a virtual machine (VM) can be generated from a snapshot such that the clone would be able to access at least some of the data that is stored by the snapshot. Over time, the snapshot may become less useful or not used at all by the clone VMs that depend from it. However, typically, a snapshot cannot be deleted until zero clones depend from the snapshot and also zero other snapshots refer to the snapshot. This restriction can create space inefficiency in the system due to expired shared snapshots (e.g., snapshots that have been created for more than a predetermined threshold length of time) or otherwise unused shared snapshots locking down redundant storage space.